<?php
require_once 'ListagemPorObjeto.php';
require_once 'ListagemPorOrigem.php';
require_once 'ListagemPorRegistro.php';
/**
 * Fábrica que instancia Listagem de acordo com o tipo selecionado
 */
class ListagemFactory {

/**
 * @method void getListagem($tipo) para cadastro do recurso
 * @param string $tipo tipo de listagem a ser gerada
 * @return Listagem
 */
    public static function getListagem($tipo) {
        if ($tipo == 'objeto') {
            return new ListagemPorObjeto();
        } elseif ($tipo == 'origem') {
            return new ListagemPorOrigem();
        } elseif ($tipo == 'registro') {
            return new ListagemPorRegistro();
        } else {
            throw new Exception('Tipo de consulta inexistente');
        }
    }
}
?>
